package algorithm7.leetcode.每日一题.YEAR2023.month5;

import org.junit.jupiter.api.Test;

public class DAY20230511_LC1016 {

    /*

给定一个二进制字符串 s 和一个正整数 n，如果对于 [1, n] 范围内的每个整数，其二进制表示都是 s 的 子字符串 ，就返回 true，否则返回 false 。
子字符串 是字符串中连续的字符序列。

示例 1：
输入：s = "0110", n = 3
输出：true

     */

    public boolean queryString(String s, int n) {
        return handle1(s, n);
    }

    private boolean handle1(String s, int n) {
        for (int i = 1; i <= n; i++) {
            String si = Integer.toString(i, 2);
            if (!s.contains(si)) {
                return false;
            }
        }
        return true;
    }


    @Test
    void t1() {
        String s = "110101011011000011011111000000";
        int n = 15;
        boolean res = queryString(s, n);
        System.out.println("res = " + res);
    }

}
